package com.zuipin.service;

import java.util.List;

import com.zuipin.entity.product.EvaluationInfo;
import com.zuipin.framework.exception.CustomException;
import com.zuipin.util.Pagination;
import com.zuipin.vo.EvaluationInfoVo;
import com.zuipin.vo.EvaluationVo;
import com.zuipin.vo.saveEvaluationVo;

import net.sf.json.JSONObject;

/**
 * 评价信息业务类
 *
 * @ClassName IEvaluationInfoService 
 * @author wangcongyi
 * @date 2017年4月25日 下午2:35:13
 */
public interface IEvaluationInfoService {
	
	// 分页查询商品评论信息列表
	public EvaluationInfoVo seachEvaluation(Short isExistImg, EvaluationInfo eval, Pagination page);
	
	// 通过系统ID和商品拓展信息ID查询4星好评以上评论数
	public Integer getPraiseNum(EvaluationInfo eval);
	
	// 分页查询商品评论信息列表（后台）
	public List<EvaluationVo> findEvaluation(EvaluationInfo eval, Pagination page);
	
	// 保存评价信息vo
	public boolean saveEvaluation(saveEvaluationVo vo, Integer reviewNum) throws CustomException;
	
	// 插入评价信息
	public int insertSelective(EvaluationInfo record);
	
	// 审核评价信息
	public boolean verify(EvaluationInfo eval);
	
	// 通过主键ID查找评价信息
	public EvaluationInfo selectEvaluationInfo(EvaluationInfo eval);
	
	// 取消置顶
	public boolean cancelTop(JSONObject params);
	
	// 批量添加商品评价信息
	public int insertBatch(List<EvaluationInfo> evaluationInfos);
	
	// 待评价的数量
	Integer getNoEvaluatedNum(Long sysId);
	
	// 回复内容
	public boolean reply(EvaluationInfo eval);
	
	public int deleteByPrimaryKey(Long id);
	
	public int insert(EvaluationInfo record);
	
	public int updateByPrimaryKeySelective(EvaluationInfo record);
	
	public int updateByPrimaryKeyWithBLOBs(EvaluationInfo record);
	
	public int updateByPrimaryKey(EvaluationInfo record);
	
}
